package cn.iocoder.yudao.module.bpm.controller.admin.sourcecatalog.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.List;
import java.util.Map;

@Schema(description = "管理后台 - 资源编目新增/修改 Request VO")
@Data
public class SourceCatalogSaveReqVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "11566")
    private Long id;

    @Schema(description = "资源主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "27535")
    @NotNull(message = "资源主键不能为空")
    private Long sourceId;

    @Schema(description = "作者名称", example = "王五")
    private String authorName;

    @Schema(description = "其他贡献者", example = "王五")
    private String contributeName;

    @Schema(description = "生平简介")
    private String authorDesc;

    @Schema(description = "资源标签")
    private String catalogTags;

    @Schema(description = "主体分类")
    private String catalogClassify;

    @Schema(description = "资源描述")
    private String catalogDesc;

    @Schema(description = "存放位置")
    private String catalogStore;

    @Schema(description = "网络连接", example = "https://www.iocoder.cn")
    private String webUrl;

    @Schema(description = "参考书目附件")
    private String attach;

    @Schema(description = "参考说明")
    private String lookUp;

    @Schema(description = "申请状态")
    private Integer status;

    @Schema(description = "发起人自选审批人 Map", example = "{taskKey1: [1, 2]}")
    private Map<String, List<Long>> startUserSelectAssignees;

    @Schema(description = "操作标识", example = "save 暂存, submit 提交")
    private String operateFlag;

}